package sv.gob.mtps.sib.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import sv.gob.mtps.sib.model.Unidadmedida;

@Repository
public class UnidadmedidaDAOImpl implements UnidadmedidaDAO {

	@Autowired
	private SessionFactory sessionFactory;

	@Override
	public void addUnidadmedida(Unidadmedida unidadmedida) {
		sessionFactory.getCurrentSession().save(unidadmedida);
	}

	@Override
	public List<Unidadmedida> listUnidadmedida() {
		return sessionFactory.getCurrentSession()
				.createQuery("from Unidadmedida").list();
	}

	@Override
	public void removeUnidadmedida(Integer id) {
		Unidadmedida unidadmedida = (Unidadmedida) sessionFactory
				.getCurrentSession().load(Unidadmedida.class, id);
		if (unidadmedida != null) {
			sessionFactory.getCurrentSession().delete(unidadmedida);
		}
	}

	@Override
	public Unidadmedida findUnidadmedida(Integer id) {
		return (Unidadmedida) sessionFactory.getCurrentSession().get(
				Unidadmedida.class, id);
	}

	@Override
	public void updateUnidadmedida(Unidadmedida unidadmedida) {
		sessionFactory.getCurrentSession().update(unidadmedida);
	}

}
